import Axios from 'axios'
import app from '../main'

// 建立请求
const request = (method, url, data, options) => {
  // 如果是GET请求，则处理参数
  options = method === 'get' ? { params: options } : options
  let config = Object.assign({}, { 
    // 默认配置
    method,
    url,
    data,
    timeout: 10000
  }, options)
  // 如果是POST请求，添加headers
  if (method === 'post') {
    config.headers = Object.assign({ 'Content-Type': 'application/json; charset=UTF-8' }, config.headers)
  }
  // 发起请求
  return Axios(url, config).then(result => {
    const code = result.data.respCode
    if (code == '1000') {
      return result.data.data
    } else if (code == '1005') {
      app.$toast('亲，该手机已注册，请直接登录', () => {
        app.$router.push('/login')
      })
    }  else if (code == '1009') {
      app.$toast('亲，该手机号码未注册', () => {
        app.$router.push('/register')
      })
    } else {
      app.$toast(result.data.respMsg)
    }
  }).catch(err => {
    app.$toast('请求超时，请稍后再试')
  })
}

// 导出
export default {
  get(url, config) {
    return request('get', url, null, config)
  },
  post(url, data, config) {
    return request('post', url, data, config)
  }
}